ぼくのかんがえたさいきょうのオンラインストレージ

ぜひシェア願います!
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
Linkedin

【これは約 10 分の記事です】

セキュリティ解説者の佐藤英治です。今回は、

ぼくのかんがえたさいきょうのオンラインストレージ

というテーマで投稿します。

と言っても、OGイメージですでに出オチですが。

ぼくのかんがえたさいきょうのオンラインストレージ

オンラインストレージとは

改めて、「オンラインストレージ」とは何かですが

インターネット(クラウド)上にデータを保管できる領域

です。ネット上にあるので、どこからでも利用できます。もちろん、他の人に使われてしまっては困るので、ユーザ認証したうえでデータ領域を使用します。

2020年11月時点で、有名どころとしては

  • Google Drive
  • Microsoft One Drive
  • Dropbox

といったところでしょうか。

オンラインストレージのメリット

メール添付によるファイルのやり取りに比べて、オンラインストレージによるファイルのやり取りには多くのメリットがあります。

  1. ファイルの暗号化と復号を通信時に自動的にしてくれる
  2. 利用者理由によるデータ消失を、意図的削除以外では防ぐことができる
  3. 暗号化手法が古くなっても(「危殆化」といいます)手法をアップデートをできる
  4. 共通の認証の仕組みを使っていれば、共有する相手にパスワードを教えずに情報を共有することができる
  5. 手元に暗号化したファイルが残らないので総当たりで暗号が破られる心配がない
  6. アクセス権を途中で変更することができる
  7. 情報の更新をした場合でも原本を変更すればよく、メールのように古いファイルが残り続けることがない。履歴機能がある場合でもほとんどの場合差分保存されるので保存領域の圧迫を防ぐことができる
  8. 一方的に送られてくるメールの場合、受信側に意図しない容量オーバーが起こりえるが、オンラインストレージなら容量のコントロールは主体的に可能

などが挙げられます。「無駄がなく」「安全で」「使いやすい」という点で、メール添付によるデータやり取りより優れています。

現状のオンラインストレージのデメリット

デメリットとしては

  1. 仕様がベンダー独自
  2. 共同で使う場合、相手も同じベンダーを使っていなければならない
  3. 一度利用を開始するとそのベンダーからの移行が困難
  4. ベンダー理由による情報漏えいを防ぐすべがない
  5. ベンダー理由による情報の消失を防ぐすべがない

といったところが挙げられます。ということで、これらのデメリットを解消すると、先ほど画像で上げた、ぼくのかんがえたさいきょうのオンラインストレージ(以下、略して「最つよストレージ」)になる、ということです。

最つよストレージはこんな感じ

利用者がオンラインストレージにデータを保存する際、まず、プロキシストレージを通過します。このプロキシストレージには

  • キャッシュ機能
  • データ分割機能
  • アンチウイルス機能

を持たせます。

ユーザからのデータを、ここで2つに分割します(A,Bとします)。そして、その2つのデータをもとに、「パリティ」というデータを生成します(Pとします)。

この3つのデータを、それぞれ異なる3つのプロバイダにアップロードします。

オンラインストレージから読み込むときは

  1. プロキシストレージに利用者からアクセスする
  2. プロキシストレージは、キャッシュがないもしくは古ければ、3つのプロバイダにアクセスしてデータを再構築して利用者に提供する

簡単に言えばこういう仕組みです。

AとBとPは、虫食い算の関係で、一つが欠けても残りの二つから割り出すことができます。

IT関連の技術者なら「これ、RAID5じゃね?」と思うかもしれませんが、そうです。そっくりそれを流用しています。

デメリットをどう解消するの

先ほど挙げた5つのデメリット

  1. 仕様がベンダー独自
  2. 共同で使う場合、相手も同じベンダーを使っていなければならない
  3. 一度利用を開始するとそのベンダーからの移行が困難
  4. ベンダー理由による情報漏えいを防ぐすべがない
  5. ベンダー理由による情報の消失を防ぐすべがない

どう解決しているか。

「仕様がベンダー独自」についてですが、この最つよストレージは「共通仕様」でないと成立しません。したがって、これは最つよストレージのメリットというより前提です。

「相手も同じベンダーを使わなければならない」については、この最つよストレージが広まらない限り解消されません。なので、この仕組みそのものではデメリットを解消できません。

「そのベンダーからの移行が困難」については、例えばベンダー3からベンダー4に移行するとします。そうするとこういう手順になります。

  1. プロバイダ1,2のデータをもとにプロバイダ4に保存すべきデータを作り出す。もしくはプロバイダ3のデータをそのままプロバイダ4と同期をとる
  2. プロバイダ4に保存が完了した時点で、プロバイダ3の利用を停止する

これにより、プロバイダ移行は出来ます。

プロキシストレージの移行は簡単で、「そのプロキシを使うのをやめて別のプロキシストレージに移行する」だけです。プロキシストレージが持っているデータは原本ではないので、移行してキャッシュを消せばいいだけです。

「情報漏えいを防ぐすべ」ですが、仮にプロバイダ1から情報が漏えいしても、元のデータの復元は出来ません。もう一つのプロバイダからのデータが漏えいして、初めて情報漏えいするので、1つ目のデータ漏えいが疑われた時点でアクセス制限などをすればいいことになります。

「情報の消失を防ぐすべ」ですが、仮にプロバイダ1が情報を消失したとしても、プロバイダ2と3のデータをもとに、プロバイダ1の情報は再現可能です。ですので、消失させてしまったプロバイダを捨て、プロバイダ4に新たにデータを作ればいいのです。

今までも思いついた人は当然いた

この仕組み、RAID5ほぼそのままですので、思いつく人は私以前にも当然いました。以前インターネットを調べたとき、そういう製品を見たことがありました。残念ながらその時点でも販売終了になっていました。

販売終了になった原因はいろいろとあると思います。そのあたりの分析は必要かもしれません。

ブロックチェーンを用いた分散ストレージ

分散ストレージについて調べると、ブロックチェーンを用いた仕組みを見つけることができます。例えば

これらは、インターネット上に存在するノードのディスク領域を借りて、分断化したファイルを暗号化して保存するという仕組みです。

Siaの場合、Wikipedia情報では「30のセグメントのホストのうち20がオフラインとなってしまったとしても、ファイルを復元可能である」とのことなので、きちんとセグメントが分散されていれば、障害にも強いです。

が、このブロックチェーンを使った仕組みだと、日本の一般企業に受け入れにくいのではないかと思います。理由としては

  • 分散しすぎでデータの所在や責任があいまいになる
  • 「ブロックチェーン=暗号通貨(仮想通貨)」のイメージがまとわりついて印象が良くない
  • データは分散化しているが、仕組みを利用するための支払先が分散ストレージ技術の提供者(場合によってはその提供者が展開する暗号通貨で支払う)なので、その意味では、分散ストレージ技術提供者にストレージ方針が縛られる

からです。分散はして欲しいが、責任はあいまいにしたくないと一般企業なら考えるでしょう。

誰でも思いつきそうでも書いてみる

この考えは結構前から考えていたのですが、

  • 「これは技術者ならだれでも思いつくだろう」
  • 「比較的簡単に思いつくことなのに現実化しないというのは、何か問題があるんだろう」
  • 「自分にそこまでの開発能力や発信影響力ないし、書かなくてもいいかな」

と思っていました。

が、誰でも思いつきそうなことでも書いてみて悪くないかなと思って書いた次第です。

そのきっかけですが、「パスワード付き添付ファイルのメール送信無意味」論争です。

私は「パスワード付き添付ファイル送信の代替案としてオンラインストレージは優れているが問題点も多い」と考えているので、この投稿も書いてみた次第です。

もしよろしければ、きっかけになった投稿もご覧ください。

「パスワード付き添付ファイルのメール送信無意味」論争に終止符を打つ技術的解決方法は明確

送り手と受け手の相撲

 

ぜひシェア願います!
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
Linkedin